package pe.com.bbva.mantenimiento.domain;


import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

import pe.com.stefanini.core.domain.EntidadBase;

@Entity
@Table(name="TTARGPS_KIT_MATERIAL", schema="TARGPS")
@SequenceGenerator(name = "SEQ_KIT_MATERIAL", sequenceName = "TARGPS.SEQ_TARGPS_KIT_MATERIAL", allocationSize = 1, initialValue = 1)
public class KitMaterial extends EntidadBase{
	private static final long serialVersionUID = 1L;
	private Long id;
	private String descripcion;
	private Date fechaInicio;
	private Date fechaFin;
	private Integer cantidad;	
	private Tabla tipoMaterial;
	private Kit kit;
	private Tabla segmento;
	private Tabla ubigeo;

	@Id
	@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="SEQ_KIT_MATERIAL")
	@Column(name="NID_KIT_MATERIAL")
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}

	@Column(name="TXT_DESCRIPCION")
	public String getDescripcion() {
		return descripcion;
	}
	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}
	
	@Column(name = "FEC_INICIO")
	public Date getFechaInicio() {
		return fechaInicio;
	}
	public void setFechaInicio(Date fechaInicio) {
		this.fechaInicio = fechaInicio;
	}
	
	@Column(name = "FEC_FIN")
	public Date getFechaFin() {
		return fechaFin;
	}
	public void setFechaFin(Date fechaFin) {
		this.fechaFin = fechaFin;
	}

	@Column(name="NUM_CANTIDAD")
	public Integer getCantidad() {
		return cantidad;
	}
	public void setCantidad(Integer cantidad) {
		this.cantidad = cantidad;
	}
	
	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name="FLG_TIPO_MATE")
	public Tabla getTipoMaterial() {
		return tipoMaterial;
	}
	public void setTipoMaterial(Tabla tipoMaterial) {
		this.tipoMaterial = tipoMaterial;
	}
	
	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name="NID_KIT")
	public Kit getKit() {
		return kit;
	}
	public void setKit(Kit kit) {
		this.kit = kit;
	}
	
	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name="COD_SEGMENTO")
	public Tabla getSegmento() {
		return segmento;
	}
	public void setSegmento(Tabla segmento) {
		this.segmento = segmento;
	}
	
	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name="COD_UBIGEO")
	public Tabla getUbigeo() {
		return ubigeo;
	}
	public void setUbigeo(Tabla ubigeo) {
		this.ubigeo = ubigeo;
	}
}